home *** CD-ROM | disk | FTP | other *** search
Text File | 1985-08-23 | 5.2 KB | 161 lines | [TEXT/CYAN] |
- IDENT EDIT
- OPTION CREF,SUBTTL,appl
- INCLUDES MACTEXT
- EDIT TITLE CYCLAN EDITOR.
- LIST I
- ** EDIT - SAMPLE PROGRAM TEXT EDITOR.
- *
- * COPYRIGHT (c) 1985 J. R. Hogue
- *
- EDIT SPACE 4,10
- ** EDIT - CYCLAN EDITOR.
- *
-
- START PEA -4(A5) ;GRAFPORT
- _InitGraf ;INITIALIZE MANAGERS
- _InitFonts
- _InitWindows
- _InitMenus
- _TEInit
- CLR.L -(SP)
- _InitDialogs
- MOVE #2,-(SP) ;STANDARD FILE PACKAGE
- _InitPack
- BSR PRESET ;INITIALIZE DATA/BUFFERS/PTRS
- BSR EMENU ;INITIALIZE MENU LINE
- BSR EWIND ;INITIALIZE EDIT WINDOW
- MOVE.L EDTE(A6),A4 ;SHELL TE HANDLE
- JSR IOINIT(PC) ;INITIALIZE I/O ROUTINES
- _InitCursor
- CLR D0
- BSR EDIT ;RUN EDITOR
- RTS ;RETURN TO CALLER
-
- INCLUDE CYEDS.S ;TEXT EDITOR
- INCLUDE CYSUB.S ;SUBROUTINES
- PRESET SPACE 4,10
- ** PRESET - INITIALIZE PROGRAM DATA AREAS.
- *
- * ENTRY A6 - TOP OF .BSS BLOCK. (SET BY CYCLAN LOADER).
-
- PRESET SUB #LCAL,A6 ;ALLOCATE LOCALS
- MOVE.L A6,A3
- MOVE #LCAL/4-1,D0
- PRE1 CLR.L (A3)+ ;CLEAR LOCAL STORAGE AREA
- DBF D0,PRE1
- MOVE.L A6,TMEM(A6)
-
- * INITIALIZE FILE TABLES.
-
- MOVE.L #$400,D1 ;FILE BUFFER SIZE
- LEA EDFIT(A6),A1 ;FIT ADDRESS
- MOVE.L A1,EDITF(A6)
- LEA EDBUF(A6),A2 ;FILE BUFFER
- LEA BLANKS(PC),A3 ;USE BLANKS FOR A FILE NAME
- MOVE.L (A3),D5
- JSR IOINF(PC) ;INITIALIZE EDIT FILE FIT
- LEA AFFIT(A6),A1 ;FIT ADDRESS
- MOVE.L A1,DISKF(A6)
- LEA AFBUF(A6),A2
- LEA BLANKS(PC),A3 ;USE BLANKS FOR A FILE NAME
- MOVE.L (A3),D5
- JSR IOINF(PC) ;INITIALIZE ALTERNATE FILE FIT
-
- * MISC.
-
- LEA CREA(PC),A2 ;SET FILE CREATOR ID
- MOVE.L #'CYAN',(A2)
- RTS
-
- BLANKS DC.B 32H
- CANCEL STR ('CANCEL')
- ERROR SPACE 4,10
- ** ERROR MESSAGES.
-
- EMOPN DC #Z'UNABLE TO OPEN - '
-
- EMFLN DC #Z'INVALID FILE NAME - '
-
- EMFCE DC #Z'FILE CONTENT ERROR - '
- SPACE 4,10
- ** LOCAL VARIABLES (BASE REGISTER = A6).
-
- .OFFSET LOCAL VARIABLES
-
- ALRTB DS.B 156+14 DIALOG WINDOW RECORD
- CTRL DS.L 1 CONTROL HANDLE
- DISKF DS.B FITL SCRATCH FILE FIT
- DLTH DS 1 DELTA H SCROLL
- DLTV DS 1 DELTA V SCROLL
- DLWN DS.L 1 DIALOG POINTER
- EDITF DS.B FITL EDIT FILE FIT
- EDITT EQU DISKF TEMPORARY EDIT FILE FIT
- EDTE DS.L 1 EDIT TE RECORD HANDLE
- EDWN DS.L 1 EDIT WINDOW HANDLE
- ESTY DS 1 FONT SIZE
- FILA DS.L 1 FIT ADDRESS FOR OPEN EDIT FILE
- HNMW DS.L 1 HANDLE FOR WINDOW OF MOUSE CLICK
- ITEMHIT DS 1 DIALOG VALUE
- MNUM DS 2 MENU BAR/ITEM NUMBERS
- MN1H DS.L 1 MENU COLUMN 1 HANDLE
- MN2H DS.L 1 2
- MN3H DS.L 1 3
- MN4H DS.L 1 4
- MN5H DS.L 1 MENU COLUMN 5 HANDLE
- PRNB DS.B 80 PRINTER I/O RECORD
- TEWR DS.B 156 EDIT WINDOW RECORD
- TOTH DS 1 TOTAL SCROLL DELTA V INTO FILE
- TMEM DS.L 1 TOP OF AVAILABLE MEMORY
- VBAR DS.L 1 VERTCIAL BAR VALUE
-
- * EVENT RECORD.
-
- EVTR DS 0 EVENT RECORD
- WHAT DS 1 EVENT CODE
- MESSAGE DS.L 1 EVENT MESSAGE
- WHEN DS.L 1 TICKS SINCE STARTUP
- WHERE DS.L 1 MOUSE LOCATION
- MODFS DS 1 MODIFIER FLAGS
-
- * SFREPLY RECORD.
-
- SFREPLY DS 0
- SFGOOD DS.B 1 FALSE IF IGNORE COMMAND
- DS.B 1
- SFFTYPE DS.L 1 FILE TYPE
- SFVREFN DS 1 VOLUME REFERENCE NUMBER
- SFVERSN DS 1 FILE VERSION NUMBER
- SFNAME DS.B 1+63 FILE NAME
-
- * BUFFERS.
-
- AFBUF DS.B $200 ALTERNATE FILE BUFFER
- AFFIT DS.B FITL ALTERNATE FILE FIT
- DEFVOL DS.B 100 DEFAULT VOLUME BLOCK
- EDBUF DS.B $400 EDIT FILE BUFFER
- EDFIT DS.B FITL EDIT FILE FIT
- FILNAM DS.B 2+64 FILE NAME
- SCRS DS.B 2+256 SCRATCH BUFFER
- VOLNAM DS.B 2+64 VOLUME NAME
-
- * BYTE FLAGS.
-
- EDAF DS.B 1 EDIT FILE OPEN
- EDFN DS.B 1 EDIT FILE SELECTED
- ENDE DS.B 1 END EDIT SESSION
- POPN DS.B 1 PRINTER PORT OPEN
-
- LCAL DS 0 SIZE OF LOCAL VARIABLES
-
- .BSS USE BSS SEGMENT FOR LOCAL VARIABLES
-
- DS.B 32000
- DS.B 8000
-
- .TEXT
-
-
- INCLUDEH CYIOS SYSTEM INTERFACE ROUTINES
-
- END
-